package com.sunlg.smarthome.contract;

import com.sunlg.smarthome.base.IBasePresenter;
import com.sunlg.smarthome.base.IBaseView;
import com.sunlg.smarthome.data.entity.Gateway;

import java.util.List;

/**
 * Created by sunlg on 2017/4/20.
 */

public interface GatewayContract {

    interface View extends IBaseView {
        void showOfflineImg();
        void showNoneGatewayImg();
        void hideGatewayStatusImg();
        void showFab();
        void hideFab();
        void showNoneGatewayText();
        void hideNoneGatewayText();
        void showGatewayInfo(Gateway gateway);
        void hideGatewayInfo();
        void hideBindDialog();
        void showBindProgress();
        void hideBindProgress();
        void loadAllGatewaySuccess(List<Gateway> gateways);
        void showSwitchDialog(List<Gateway> gateways);
        void updateGatewaySuccess();
    }

    interface Presenter extends IBasePresenter<View> {

        void init();

        void addGateway(Gateway gateway);

        void deleteGateway();

        void loadGateway();

        void loadGateway(Integer id);

        void loadAllGateway();

        void switchGateway();

        void updateGateway(Gateway gateway);

    }
}
